package com.crcode.crm.service.user;

import java.util.List;
import java.util.Map;

import com.crcode.crm.bean.user.UserBean;
import com.crcode.crm.service.CommonService;
import com.crcode.crm.utils.PageVo;
import com.crcode.crm.utils.ResultPageUtil;

/**
 * 用户 业务层接口
 * 
 * @author lxw
 * @date 2018年8月26日 下午1:55:48
 * @version V1.0
 */
public interface UserService extends CommonService<UserBean, Integer> {

	/**
	 * 根据用户登录名 查询用户
	 * 
	 * @author lxw
	 * @date 2018年8月27日 下午2:35:11
	 * @param loginName
	 * @return
	 */
	public UserBean findByLoginName(String loginName);

	/**
	 * 根据序号单一、批量删除返回操作结果数
	 * 
	 * @author lxw
	 * @date 2018年8月27日 下午2:35:33
	 * @param ids
	 * @return
	 */
	public boolean deleteUserByIds(List<Integer> ids);

	/**
	 * 根据UUIDS删除对象，返回操作结果
	 * 
	 * @author lxw
	 * @date 2019年1月18日
	 * @param uuids
	 * @return
	 */
	public boolean deleteUserByUuids(List<String> uuids);

	/**
	 * 根据序号集 查询数据集
	 * 
	 * @author lxw
	 * @date 2018年8月27日 下午2:39:09
	 * @param ids
	 * @return
	 */
	public List<UserBean> findByUserIdIn(List<Integer> ids);

	/**
	 * 根据实体字段分页查询
	 * 
	 * @author lxw
	 * @date 2018年8月27日 下午2:57:31
	 * @param u
	 * @param vo
	 * @return
	 */
	public ResultPageUtil findAll(UserBean u, PageVo vo);

	/**
	 * 根据程序序号查询
	 * 
	 * @author lxw
	 * @date 2018年8月29日 下午3:30:05
	 * @param userXh
	 * @return
	 */
	public UserBean findByUuid(String uuid);

	/**
	 * 查询用户列表
	 * 
	 * @author lxw
	 * @date 2019年4月1日
	 * @param isUse
	 *            1、可以，0、不可用
	 * @return
	 */
	public List<Map<String, Object>> loadUserByIsUse(Integer isUse);
}
